using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CPlatePrintSys.Domain.Models;


namespace CPlatePrintSys.Infrastructure.Repositories
{
    public interface IUserRepository : IRepository<User>
    {
        // 用户特定的方法
        Task<User> GetByUsernameAsync(string username);
        Task<User> GetByJobNumberAsync(string jobNumber);
        Task<bool> IsUsernameExistsAsync(string username);
        Task<bool> IsJobNumberExistsAsync(string jobNumber);
        Task UpdateLastLoginAsync(int userId);
        Task<bool> ValidateCredentialsAsync(string username, string password);
    }
} 